This application relates generally to a medical device, and more specifically, this application relates to a controller for an implantable medical device used, for example, for spinal cord stimulation therapy
Programmable pulse generating systems are used to treat chronic pain by providing electrical stimulation pulses from an electrode array placed in or near a patient's spine. Such Spinal Cord Stimulation (SCS) is useful for reducing pain in certain populations of patients. SCS systems typically include one or more electrodes connected to an External Pulse Generator (EPG) or an Implanted Pulse Generator (IPG) via lead wires. In the case of an EPG, the lead wires must be connected to the EPG via an exit from the body. The pulse generator, whether implanted or external, generates electrical pulses that are typically delivered to the dorsal column fibers within the spinal cord through the electrodes which are implanted along or near the epidural space of the spinal cord. In a typical situation, the attached lead wires exit the spinal cord and are tunneled within the torso of the patient to a sub-cutaneous pocket where the IPG is implanted, or the wires exit the patient for connection to the EPG.
Neural stimulators for SCS to date have been limited to waveform shapes dictated by their circuitry. Most emit relatively simple rectangular or trapezoidal stimulation phases with exponential, clamped-exponential, or rectangular charge recovery phases. Implanted pulse generators to date have had a limited ability to generate complex trains of pulses. Often they are driven by simple timers which greatly limit the variety of pulse trains they can emit. Similar waveform limitations typically exist for stimulators used in other medical applications, such as cardiac implants, cochlear implants, etc. Furthermore, spinal cord stimulators have typically been limited to biphasic pulse output, where the first phase of the pulse provides the desired stimulation effect while the second phase of the pulse provides an equal but opposite amount of electrical charge to provide a net DC current of zero.
Nevertheless, it is desirable that other waveform shapes be available, as such shapes may be useful in controlling which nerve fibers respond to a stimulation pulse. For example, by allowing any type of waveform shape to be applied to any phase of a stimulation pulse, it may be possible to target specific types of nerve fibers for activation. It is also desirable to allow a stimulation pulse to have any number of phases, in particular more than the two phases typically used by neurostimulators, as this could allow pre-polarization of nerve tissue prior to the stimulation pulse. Finally, it is desirable to allow stimulation pulse phases to be interleaved in such a way that a second stimulation pulse is executed between the two phases of a first stimulation pulse, since this could allow one area of neural tissue to be pre-polarized prior to the stimulation of a second area of neural tissue. By using these new stimulation techniques, the goal is to allow greater control in selecting particular nerve fibers for activation, thus increasing the therapeutic benefit of neural stimulation while decreasing the side-effects.
Desired is a capability of producing complex waveforms of arbitrary shapes, whether or not they are inherently piecewise-linear, to allow greater flexibility in the number and sequence of pulse phases when constructing and executing stimulation waveforms. Also desired is the ability to adjust amplitudes and pulsewidths or to switch between multiple stimulation waveforms simply and efficiently, such as by using an efficient and accurate control method.
U.S. Pat. Nos. 7,483,748 and 6,950,706 disclose a way to assemble pulse trains from up-ramping, down-ramping and a constant voltage, driven from a system of counters and timers. But this approach lacks the ability to efficiently generate more sophisticated pulse trains such as pre-pulses, interleaved pulses, burst stimulation or n-lets. Providing a solution allowing these sophisticated pulse trains would be desirable.
Furthermore, capabilities for efficient, error-resistant updates to the stimulation program via double-buffering, storage of multiple programs simultaneously, and program interleaving to simulate, simultaneously, two different stimulation frequencies, is also desirable.